[Slack]feed listコマンドの出力テキストをyamlに変換する
- t_o_dと申します。
- 効率的な情報収集のため、SlackのRSSフィード機能のfeedコマンドを活用しています。
- 今回は一覧参照の
/feed list
コマンドの出力テキストをyamlに変換する方法を記録いたします。
環境
- mac OS Ventura 13.1
結果
/feed list
で出力される対象のテキスト例は以下とし、格納するファイル名はfeed.txt
とします。- ※出力内容は登録されている各RSSによって異なります。
ID: 123456 - タイトル: xxxさんのフィード URL: https://xxxx.xxx/xxx/feed ID: 456789 - タイトル: xxxさんのフィード URL: https://xxxx.xxx/xxx/feed ID: 789123 - タイトル: xxxさんのフィード URL: https://xxxx.xxx/xxx/feed
- ファイル作成後、以下のスクリプトをターミナルに貼り付けて実行すると、「情報が整理されてyamlに変換されたフィード情報」を出力します。
cat feed.txt | awk -F ': ' ' /^ID/{ gsub("[^0-9]","",$2) gsub("さん.+","",$3) print "- id:", $2 print " author:", $3 } /^URL/{ print " url:", $2 } '
- 実行後、以下のような内容で出力されることを確認します。
- id: 123456 author: xxx url: https://xxxx.xxx/xxx/feed - id: 456789 author: xxx url: https://xxxx.xxx/xxx/feed - id: 789123 author: xxx url: https://xxxx.xxx/xxx/feed
- 以上です。
補足
- 以下のようにrubyかyqを利用すれば、簡単にyamlをjsonに変換することが可能です。
# rubyの場合 cat feed.yaml | ruby -ryaml -rjson -e 'puts JSON.pretty_generate(YAML.load(STDIN))' # yqの場合 cat feed.yaml | yq -o=json
まとめ
- Slackのフィード機能で登録されている情報はデータとしても有益であるため、適切に活用していこうと思います。
参考
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。